Fix unclosed generator when running on trio #2587
Closed
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
While taking a look at resolving #2186, I came across an issue in the trio variant of
test_asgi_streaming
.It seems that our usage of generators for
__aiter__
doesn't satisfy trio's strict semantics.AFAIU, when
__aiter__()
does more than delegating to an underlying async iterable, we should be implementing__anext__()
so thataclosing()
is applied to that streaming. Though my understanding is a bit limited so far in the night. 😃This comes with a companion PR on httpcore. encode/httpcore#657